Jetfire vs CSharp

Modified on 2010/12/14 14:13 by John — Categorized as: Jetfire Core

Jetfire vs CSharp Differences Overview

Jetfire's core syntax is identical to C#. Jetfire contains extensions to the .net C# language to simplify programming. To reduce the complexity of the programming model certain aspects of the .net C# language are not required in Jetfire.

Table of Contents [Hide/Show]


   Jetfire vs CSharp Differences Overview
   Jetfire Extensions
   C Sharp features vs Jetfire
      General
      Methods
      Constructors
      Control
      Intrinsic/Built-in Types
      Operators
         Primary
         Unary
         Multiplicative
         Additive
         Shift
         Relational and type testing
         Equality
         Logical AND
         Logical XOR
         Logical OR
         Conditional AND
         Conditional OR
         Conditional
         Assignment
   See Also

Jetfire Extensions

Jetfire has a number of first class constructs not in C#. Code examples can be found at the Jetfire CodePlex site.

C Sharp features vs Jetfire

The tables below compare C# with Jetfire.

General

General C SharpJetfire
Class construct'class''workflow'
structyesno
propertiesyesyes
methodsyes(see table)yes (see table)
constructorsyes(see table)yes (see table)
control statementsyes(see table)yes (see table)
arithmetic operationsyes(see table)yes (see table)
intrinsic typesyesyes
staticyesyes
privateyesyes
publicyesyes
dynamic access modifiersnoyes
statesnoyes
accessnoyes
internal and protectedyesyes
reflection c# reflectionJetfire easy reflection planned

Methods

Methods C SharpJetfire
'static' keywordyesyes
overloadingyesyes
overridingyesunder construction
'override' keywordyesplanned
'virtual' keywordyesplanned
'new' keywordyesplanned
'base.x' constructyesplanned
'this.x' constructyesyes
'out' constructyesyes
'ref' constructyesyes
'return' statementyesyes
'void' typeyesyes

Constructors

Methods C SharpJetfire
'static' keywordyesyes
overloadingyesyes
':this()' constructyesyes
':base()' constructyesyes

Control

ControlC SharpJetfire
if, elseyesyes
foryesyes
whileyesyes
for-whileyesplanned
foreachyesyes
'lock'yesnot required
'continue'yesyes
'break'yesyes
'throw'yesyes
'try-catch'yesplanned

Intrinsic/Built-in Types

C SharpJetfire
byteyesyes
boolyesyes
charyesplanned
decimalyesplanned
enumyesyes
doubleyesyes
floatyesplanned
intyesyes
int16yesyes (short)
int32yesyes (int)
int64yesyes (long)
longyesyes
objectyesunder construction
sbyteyesyes
shortyesyes
stringyesyes
string: mulit-languagenoyes
uintyesyes
uint16yesyes (ushort)
uint32yesyes (uint)
uint64yesyes (ulong)
ulongyesyes
ushortyesyes
varyesyes (object)
true dynamic typenoobject

Operators

C# operators

Primary

C SharpJetfire
x.y dotyes .yes
f(x) orderyesyes
 x[index] 
yesyes
 x++ 
yesyes
 x-- 
yesyes
new yesyes
typeofyesplanned
checked yesplanned
uncheckedyesplanned
->yesyes - builtin

Unary

C SharpJetfire
+yesyes
'-' negationyesyes
'!' logical negation yesyes
'~' yesplanned
'++x' yesplanned
'--x' yesplanned
'(T)x' castyesnot required
'true' yesyes
'false'yesyes
'&'yesyes
'sizeof'yesplanned

Multiplicative

C SharpJetfire
'/' divideyesyes
'*' multiplyyesyes
'%' remainderyesyes

Additive

C SharpJetfire
'+' addyesyes
'-' subtractyesyes

Shift

C SharpJetfire
<<yesplanned
>>yesplanned

Relational and type testing

C SharpJetfire
'<' less thanyesyes
'>' greater thanyesyes
'<=' less than or equalyesyes
'>=' greater than or equalyesyes
'is'yesplanned
'as'yesplanned

Equality

C SharpJetfire
==yesyes
!=yesyes

Logical AND

C SharpJetfire
&yesyes

Logical XOR

C SharpJetfire
'^'yesyes

Logical OR

C SharpJetfire
'|'yesyes

Conditional AND

C SharpJetfire
'&&'yesyes

Conditional OR

C SharpJetfire
'||'yesyes

Conditional

C SharpJetfire
'?:'yesplanned

Assignment

C SharpJetfire
"="yesyes
"+="yesyes
"-="yesyes
"*="yesyes
"/="yesyes
"%="yesyes
"|="yesyes
"^="yesyes
"<<="yesplanned
">>="yesplanned
"??="yesplanned

See Also